package com.briup.corejava.day13;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * Map测试
 * HashMap：key唯一，value可重复，线程不安全
 */
public class Test1 {
    public static void main(String[] args) {
        Map<Integer,String> map = new HashMap<>();
        map.put(1,"tom");
        map.put(2,"jerry");
        map.put(3,"bob");
        // 删除
        System.out.println(map.remove(3));
        // 获取
        System.out.println(map.get(1));
        // 替换
        map.replace(2,"jerry","james");
        // 输出
        System.out.println(map);
        // 重要方法
        // 获得所有的key的集合
        Set<Integer> keySet = map.keySet();
        System.out.println(keySet);
        // 获得所有value的集合
        System.out.println(map.values());
        // 获得所有键值对的集合
        Set<Map.Entry<Integer, String>> entries = map.entrySet();
        System.out.println(entries);
        // 遍历
        // 1、根据key取value
        for(Integer key : keySet){
            String value = map.get(key);
            System.out.println(key+" - "+value);
        }
        // 2、根据键值对的方法来取
        for(Map.Entry<Integer,String> entry:entries){
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+" : "+value);
        }
    }
}
